package com.sdx.console.contract.entity;
import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Null;
import com.fasterxml.jackson.annotation.JsonIgnore;
import org.beetl.sql.core.annotatoin.*;
import org.apache.commons.lang3.StringUtils;
import com.ibeetl.admin.core.util.ValidateConfig;
import com.sdx.service.ConfigService;
import org.beetl.sql.core.TailBean;
import java.math.*;
import com.ibeetl.admin.core.annotation.Dict;
import com.ibeetl.admin.core.entity.BaseEntity;
import com.sdx.common.utils.Utils;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.Data;
/*
 *
 * gen by Spring Boot2 Admin 2019-10-24
 */
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
@Data
public class CustomerInfo extends BaseEntity{
    //会员id
    @NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class)
    @AssignID
    private String customerId ;
    private Integer tenantId ;
    //真名
    private String customerName ;
    //住址
    private String address ;
    //会员类型[0-内部员工 1-非内部员工 2-合作渠道 3-内部管理员]
    private Integer customerType ;
    //用户所属省份
    private Integer provinceId ;
    //1、文科，2、理科，3、综合
    private Integer majorType ;
    //选科组合
    private Integer courseGroupId ;
    //高考年份
    private Integer choiceYear ;
    //a、微信小程序， b、h5微信，c、手机号（短信码验证），d、手机唯一识别码（app），e、合作通过app接入
    private String regType ;
    //appid 微信的appid
    private String appId ;
    //来源id 微信注册时是unionid，手机时是手机号，app是是外部唯一识别码，比如imei
    private String sourceId ;
    //来源子id 微信时时openid
    private String subSourceId ;
    //来源模块 14、公开课，15、圣达信教育，16、志愿填报，17、自主招生，18、艺考生
    private String module ;
    //来源渠道 miniprogram、自有微信小程序，h5、自有h5，gaosan、高三网app，h6、高三网h5引流
    private String channel ;
    //对应推广码,promote_record表
    private String comeFrom ;
    //会员等级
    private String customerLevel ;
    //绑定手机号
    private String phone ;
    //微信头像
    private String wxPicurl ;
    //微信昵称
    private String wxUname ;
    //所属省份
    private String locationPro ;
    //所属城市
    private String locationCity ;
    //是否为老师[0-非老师 1-咨询师]
    private Integer isTeacher ;
    //可用标记 1、可用，0、不可用
    private Integer custStatus ;
    //注册时间
    private Date registerTime ;
    //更新人
    private Integer updatedBy ;
    //更新人名称
    private String updatedName ;
    //更新时间
    private Date updatedTime ;
    //性别 1、男，2、女
    private Integer sex ;
    //高中省
    private Integer highProvinceId ;
    //高中市
    private Integer highCityId ;
    //高中区
    private Integer highBoroughId ;
    //高中学校
    private Integer highSchoolId ;

    public String getCustomerId() {
        return customerId;
    }

    public void setCustomerId(String customerId) {
        this.customerId = customerId;
    }

    public Integer getTenantId() {
        return tenantId;
    }

    public void setTenantId(Integer tenantId) {
        this.tenantId = tenantId;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Integer getCustomerType() {
        return customerType;
    }

    public void setCustomerType(Integer customerType) {
        this.customerType = customerType;
    }

    public Integer getProvinceId() {
        return provinceId;
    }

    public void setProvinceId(Integer provinceId) {
        this.provinceId = provinceId;
    }

    public Integer getMajorType() {
        return majorType;
    }

    public void setMajorType(Integer majorType) {
        this.majorType = majorType;
    }

    public Integer getCourseGroupId() {
        return courseGroupId;
    }

    public void setCourseGroupId(Integer courseGroupId) {
        this.courseGroupId = courseGroupId;
    }

    public Integer getChoiceYear() {
        return choiceYear;
    }

    public void setChoiceYear(Integer choiceYear) {
        this.choiceYear = choiceYear;
    }

    public String getRegType() {
        return regType;
    }

    public void setRegType(String regType) {
        this.regType = regType;
    }

    public String getAppId() {
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getSourceId() {
        return sourceId;
    }

    public void setSourceId(String sourceId) {
        this.sourceId = sourceId;
    }

    public String getSubSourceId() {
        return subSourceId;
    }

    public void setSubSourceId(String subSourceId) {
        this.subSourceId = subSourceId;
    }

    public String getModule() {
        return module;
    }

    public void setModule(String module) {
        this.module = module;
    }

    public String getChannel() {
        return channel;
    }

    public void setChannel(String channel) {
        this.channel = channel;
    }

    public String getComeFrom() {
        return comeFrom;
    }

    public void setComeFrom(String comeFrom) {
        this.comeFrom = comeFrom;
    }

    public String getCustomerLevel() {
        return customerLevel;
    }

    public void setCustomerLevel(String customerLevel) {
        this.customerLevel = customerLevel;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getWxPicurl() {
        return wxPicurl;
    }

    public void setWxPicurl(String wxPicurl) {
        this.wxPicurl = wxPicurl;
    }

    public String getWxUname() {
        return wxUname;
    }

    public void setWxUname(String wxUname) {
        this.wxUname = wxUname;
    }

    public String getLocationPro() {
        return locationPro;
    }

    public void setLocationPro(String locationPro) {
        this.locationPro = locationPro;
    }

    public String getLocationCity() {
        return locationCity;
    }

    public void setLocationCity(String locationCity) {
        this.locationCity = locationCity;
    }

    public Integer getIsTeacher() {
        return isTeacher;
    }

    public void setIsTeacher(Integer isTeacher) {
        this.isTeacher = isTeacher;
    }

    public Integer getCustStatus() {
        return custStatus;
    }

    public void setCustStatus(Integer custStatus) {
        this.custStatus = custStatus;
    }

    public Date getRegisterTime() {
        return registerTime;
    }

    public void setRegisterTime(Date registerTime) {
        this.registerTime = registerTime;
    }

    public Integer getUpdatedBy() {
        return updatedBy;
    }

    public void setUpdatedBy(Integer updatedBy) {
        this.updatedBy = updatedBy;
    }

    public String getUpdatedName() {
        return updatedName;
    }

    public void setUpdatedName(String updatedName) {
        this.updatedName = updatedName;
    }

    public Date getUpdatedTime() {
        return updatedTime;
    }

    public void setUpdatedTime(Date updatedTime) {
        this.updatedTime = updatedTime;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public Integer getHighProvinceId() {
        return highProvinceId;
    }

    public void setHighProvinceId(Integer highProvinceId) {
        this.highProvinceId = highProvinceId;
    }

    public Integer getHighCityId() {
        return highCityId;
    }

    public void setHighCityId(Integer highCityId) {
        this.highCityId = highCityId;
    }

    public Integer getHighBoroughId() {
        return highBoroughId;
    }

    public void setHighBoroughId(Integer highBoroughId) {
        this.highBoroughId = highBoroughId;
    }

    public Integer getHighSchoolId() {
        return highSchoolId;
    }

    public void setHighSchoolId(Integer highSchoolId) {
        this.highSchoolId = highSchoolId;
    }
}